const {
    statSync,
    readdirSync,
    readFileSync
} = require("fs");

// \w 
// [\w+]表示匹配数字、字母、下划线和加号本身字符；
// 
let searchTerm = new RegExp(process.argv[2]);
console.log("searchTerm");
console.log(searchTerm);
for (let arg of process.argv.slice(3)) {
    console.log("search this dir");
    // console.log("arg");
    console.log(arg);
    search(arg);
}

function search(file) {
    let stats = statSync(file);
    // console.log(file);
    if (stats.isDirectory()) {
        for (let f of readdirSync(file)) {
            search(file + "/" + f);
            //   console.log("找一个这个正则的");
        }

    } else if (searchTerm.test(readFileSync(file, "utf8"))) {

        // 他找的是内容
        // 正则 js
        //   找一个这个正则的
        // console.log("找一个这个正则的");
        console.log("找一个内容是这个正则的");
        console.log(file);
    }
}

// let res=/\w/.test("dir/test.text")
// console.log("res");
// console.log(res);